/*
 * Exploder
 * 
 * Tero Pyylampi (218437), Jussi Tuurinkoski (211594)
 *
 * Base class for different engines in the game
 */

#ifndef GAMEABSTRACTENGINE_H
#define GAMEABSTRACTENGINE_H

#include "cocos2d.h"

enum EngineState {
	ENGINE_RUNNING,
	ENGINE_PAUSED
};

class GameAbstractEngine 
{
public:
	// default constructor
	GameAbstractEngine( EngineState state = ENGINE_RUNNING );
	// default destructor
	virtual ~GameAbstractEngine();

	// resume engine after pause state
	virtual void resumeEngine();
	// pause engine
	virtual void pauseEngine();

	// update engine state
	virtual void update( cocos2d::ccTime dt ) = 0;

protected:
	// engine state
	EngineState mState;
};

#endif